#include "applib/lib_syscall.h"
#include "dev/tty.h"

void another_task_main(void) {
    int count = 0;
    uint32_t parent_id=getpid();

    print_msg("parent pid %d\n",parent_id);
    // uint32_t pid=fork();
    // if(pid == 0){
    //     // 子进程
        
    //     print_msg("child pragram %d\n",pid);

    //     char *path="/shell.elf";
    //     char *args[]={"arg0","arg1"};
    //     char *conv[]={""};//环境变量
    //     execve(path,args,conv);
    // }else if(pid < 0){
    //     print_msg("create child fails",0);
    // }else{
    //     print_msg("parent %d\n",parent_id);
    //     print_msg("child %d\n",pid);
    // }

    for (int i = 0; i < TTY_NR; i++) {
        int pid = fork();
        if (pid < 0) {
            print_msg("create shell proc failed", 0);
            break;
        } else if (pid == 0) {
            // 子进程
            char tty_num[5] = "tty:?";
            tty_num[4] = i + '0';
            char * argv[] = {tty_num, (char *)0};
            execve("/shell.elf", argv, (char **)0);
            print_msg("create shell proc failed", 0);
            while (1) {
                msleep(10000);
            }
        }
    }

    while (1) {
        msleep(10000);
    }

    for (;;) {
        // if(pid==0){
        //     print_msg("child count= %d",count);
        // }else{
        //     print_msg("parent count= %d",count);
        // }
        
        msleep(1000);
        // count++;
    }
}